package com.ruoyi.psi.sale.delivery.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.annotation.Excel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotNull;
import java.sql.Timestamp;
import java.util.List;

/**
 * 销售订单，数据传输对象，面向前端需求
 * @author lsy 2021.8.10
 * 修改：
 */
@Data
public class SaleDeliveryDto {
    /**
     * 销售订单出库编号
     */
    @NotNull(message = "销售订单出库编号不能为空")
    @ApiModelProperty(value = "销售订单出库编号", required = true)
    private String saleDeliveryId;

    /**
     * 销售订单编号
     */
    @NotNull(message = "销售订单编号不能为空")
    @ApiModelProperty(value = "销售订单编号", required = true)
    private String saleOrderId;

    /**
     * 客户编号
     */
    @ApiModelProperty("客户编号")
    private String customerInfoId;

    /**
     * 客户名称
     */
    @ApiModelProperty("客户名称")
    private String customerInfoName;

    /**
     * 员工编号
     */
    @ApiModelProperty(value = "员工编号")
    private String staffId;

    /**
     * 员工名称
     */
    @ApiModelProperty(value = "员工名称")
    private String staffName;

    /**
     * 出库数量
     */
    @ApiModelProperty(value = "出库数量")
    private double saleDeliveryNumberTotal;

    /**
     * 出库金额
     */
    @ApiModelProperty("出库金额")
    private double saleDeliveryPriceTotal;

    /**
     * 出库时间
     */
    @ApiModelProperty(value = "出库时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Timestamp createTime;

    /**
     * 备注
     */
    @ApiModelProperty("备注")
    private String remark;

    /**
     * 是否审批
     */
    @ApiModelProperty("是否审批")
    private String approvalFlag;

    /**
     * 销售出库产品详细
     */
    @ApiModelProperty("销售出库产品详细")
    private List<SaleDeliveryListDto> saleDeliveryLists;
}
